In computing, especially in the context of Internet of Things (IoT) and wearable technologies, computing devices benefit from operating within tight cost and energy budgets, while at the same time being resilient against security threats. Increasingly, the ability to execute code with strong security guarantees is recognized as a beneficial feature of IoT and wearable devices. As devices become connected and host multiple stakeholders, the traditional model of coarse-grained separation based on supervisor and user privileges (Ring 0/Ring 3), or in some cases simply trusting all code in the system, is no longer sufficient.